;Assembler header file for BlendTable
;written by DefMod (Dec 31 2005) on Sat Dec 31 14:03:52 2005
;Tom Hughes, tom@compton.nu, 20 Nov 2002

        [       :LNOT: :DEF: BlendTable_Hdr
        GBLS    BlendTable_Hdr

        [       :LNOT: :DEF: Get_Types
        GBLS    Get_Types
        ]
        [       :LNOT: :DEF: Types_Hdr
Get_Types                       SETS    "GET oslib/Types.Hdr"
        |
Get_Types                       SETS    ""
        ]
        $Get_Types

        [       :LNOT: :DEF: Get_OS
        GBLS    Get_OS
        ]
        [       :LNOT: :DEF: OS_Hdr
Get_OS                          SETS    "GET oslib/OS.Hdr"
        |
Get_OS                          SETS    ""
        ]
        $Get_OS

        [       :LNOT: :DEF: Get_OSSpriteOp
        GBLS    Get_OSSpriteOp
        ]
        [       :LNOT: :DEF: OSSpriteOp_Hdr
Get_OSSpriteOp                  SETS    "GET oslib/OSSpriteOp.Hdr"
        |
Get_OSSpriteOp                  SETS    ""
        ]
        $Get_OSSpriteOp

;Symbols for constants
BlendTable_SourceIsPointer      *       &1
BlendTable_DestinaionIsPointer  *       &2
BlendTable_LockTable            *       &4

;Symbols for structure offsets and sizes
                                ^       0
                                #       Bits
BlendTable_GenerateFlags        *       @


;Symbols for SWI's and SWI reason codes
XBlendTable_GenerateTableModeToMode *       &76280
BlendTable_GenerateTableModeToMode *       &56280
   ;Entry
   ;  R0 = flags (BlendTable_GenerateFlags)
   ;  R1 = source_mode (OS_Mode)
   ;  R2 = &0
   ;  R3 = destination_mode (OS_Mode)
   ;  R4 = &0
   ;  R5 = translucency (Int)
   ;  R6 = buffer_in (pointer to data)
   ;Exit
   ;  R0 = source_colours (Int)
   ;  R1 = destination_colours (Int)
   ;  R2 = size (Int)
   ;  R6 = buffer_out (pointer to data)

XBlendTable_GenerateTableModeToSprite *       &76280
BlendTable_GenerateTableModeToSprite *       &56280
   ;Entry
   ;  R0 = flags (BlendTable_GenerateFlags)
   ;  R1 = source_mode (OS_Mode)
   ;  R2 = &0
   ;  R3 -> destination_area (OSSpriteOp_Area)
   ;  R4 = destination_id (OSSpriteOp_Id)
   ;  R5 = translucency (Int)
   ;  R6 = buffer_in (pointer to data)
   ;Exit
   ;  R0 = source_colours (Int)
   ;  R1 = destination_colours (Int)
   ;  R2 = size (Int)
   ;  R6 = buffer_out (pointer to data)

XBlendTable_GenerateTableSpriteToMode *       &76280
BlendTable_GenerateTableSpriteToMode *       &56280
   ;Entry
   ;  R0 = flags (BlendTable_GenerateFlags)
   ;  R1 -> source_area (OSSpriteOp_Area)
   ;  R2 = source_id (OSSpriteOp_Id)
   ;  R3 = destination_mode (OS_Mode)
   ;  R4 = &0
   ;  R5 = translucency (Int)
   ;  R6 = buffer_in (pointer to data)
   ;Exit
   ;  R0 = source_colours (Int)
   ;  R1 = destination_colours (Int)
   ;  R2 = size (Int)
   ;  R6 = buffer_out (pointer to data)

XBlendTable_GenerateTableSpriteToSprite *       &76280
BlendTable_GenerateTableSpriteToSprite *       &56280
   ;Entry
   ;  R0 = flags (BlendTable_GenerateFlags)
   ;  R1 -> source_area (OSSpriteOp_Area)
   ;  R2 = source_id (OSSpriteOp_Id)
   ;  R3 -> destination_area (OSSpriteOp_Area)
   ;  R4 = destination_id (OSSpriteOp_Id)
   ;  R5 = translucency (Int)
   ;  R6 = buffer_in (pointer to data)
   ;Exit
   ;  R0 = source_colours (Int)
   ;  R1 = destination_colours (Int)
   ;  R2 = size (Int)
   ;  R6 = buffer_out (pointer to data)

XBlendTable_UnlockTable         *       &76281
BlendTable_UnlockTable          *       &56281
   ;Entry
   ;  R0 = buffer (pointer to data)

        ]
        END
